Display systems conventionally operate in an alpha-numeric (character) display mode, or in an all points addressable (APA) display mode, or both.
Existing display systems, particularly those designed primarily for the business market where alpha-numeric applications have predominated, tend to be based on character display modes (i.e. using fixed-size character boxes). In such systems, the hardware includes a coded text buffer which contains information to be displayed in the form of character code bytes and a character generator which produces the characters as seen by the user from the codes stored in the buffer. Computer operating systems for such character-based display systems had to write a single byte to identify the character, and optionally a second one to specify its attributes.
APA display modes are becoming more important as the customer requirements become more sophisticated. APA modes allow text, graphics and image data to be displayed separately or simultaneously (i.e. merged) on the same screen. Because of the intrinsic advantages of APA display modes, a lot of development effort has been put into finding ways to improve the performance of these modes.
With this in mind, it has been suggested that dual-ported video memory, otherwise known as VRAM. should be used for the display memory of a display system. Fast serial access can be had to data stored in a VRAM, which means that high video rate monitors can be supported using this technology. However, the advantages of the VRAM technology can only be reaped to their full extent if the data to be read out of the display memory to form the video data stream is stored sequentially in the display memory. This causes a problem when it is intended to emulate existing display adapters where the data for generating a display are not stored serially in the display memory. Typically this is the case where a character display mode is being used. However, even in the case of the APA display modes in, for example. IBM Video Graphics Array (VGA). the data for display is stored in densely packed form in some modes, and not in others. The reason for these different display formats in different display modes is primarily that they have developed historically.
In principle, the format in which data is stored in the display memory should not be important for reasons of compatibility. Software routines in the display system's input/output operating system (e.g. BIOS) can be provided to capture data to be stored in the display memory in accordance with a given display mode and to arrange for the data to be stored appropriately so as to take advantage of the fast serial access provided by a VRAM display memory. However, in practice, an acceptable degree of compatibility with VGA cannot be provided in this way as software writers have historically chosen to ignore BIOS and to write directly to the display buffer instead. Some have also invented their own modes, by setting the registers in the display adapters to suit themselves.
The historic data formats used by the VGA do not all have the correct format for the serial VRAM access. If the data is not packed densely in the VRAMs, then the bandwidth available on the serial VRAM port is insufficient to get the picture out at the required rate for the monitor because of the gaps between the data.